// VS_BEGIN
#version 330 core
layout (location = 0) in vec3 aPos;
layout (location = 1) in vec2 aCoord;

uniform mat4 u_model;

out vec2 g_coord;

layout (std140) uniform EngineUBO
{
    mat4    u_view;
    mat4    u_project;
    vec3    u_camPos;
    vec3    u_camInfo;
};

void main() {
    gl_Position = u_model * vec4(aPos, 1.0f);
    g_coord = aCoord;
}
// VS_END

// FS_BEGIN
#version 330 core

out vec4 FragColor;

in vec2 g_coord;

uniform sampler2D u_textMap;
uniform vec4 u_color;

void main() {
    FragColor = vec4(vec3(u_color), texture(u_textMap, g_coord).x * u_color.w);
}
// FS_END